package com.dl.study.factory;

import com.dl.study.bean.Page;
import com.dl.study.bean.WrappedProcessDefinitionBean;
import org.activiti.engine.repository.ProcessDefinition;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * create by chongyahhh
 * 2020/4/4
 */
public class ProcessDefinitionBeanWrappedFactory {
    public static WrappedProcessDefinitionBean inject(ProcessDefinition var) {
        return new WrappedProcessDefinitionBean(var.getId(), var.getName(), var.getDescription(), var.getVersion(), var.getKey(),var.isSuspended());
    }

    public static List<WrappedProcessDefinitionBean> inject(List<ProcessDefinition> var) {
        List<WrappedProcessDefinitionBean> data = new ArrayList<>();
        Iterator iterator = var.iterator();
        while (iterator.hasNext()) {
            ProcessDefinition temp = (ProcessDefinition) iterator.next();
            data.add(new WrappedProcessDefinitionBean(temp.getId(), temp.getName(), temp.getDescription(), temp.getVersion(), temp.getKey(),temp.isSuspended()));
        }
        return data;
    }

    public static Page<List<WrappedProcessDefinitionBean>> inject(List<ProcessDefinition> var, Integer pageNum, Integer pageSize, Integer totalPage) {
        Page<List<WrappedProcessDefinitionBean>> page = new Page<>();
        page.setData(inject(var));
        page.setPageSize(pageSize);
        page.setPageNum(pageNum);
        page.setTotalPage(totalPage);
        return page;
    }
}
